package cn.edu.klmy.dao;

import cn.edu.klmy.models.student.Student;
import cn.edu.klmy.models.study.CourseStudentLogs;
import cn.edu.klmy.models.study.CourseStudentsLog;
import cn.edu.klmy.models.study.TeacherCourseElective;
import cn.edu.klmy.models.studylog.StudyLogSituation;

import java.util.Date;
import java.util.List;

/**
 * @author 顾伟
 *         创建日期：13-5-28
 */
public interface IStudyDao {
    public List<TeacherCourseElective> getTeacherCourseTable(int teacherId, int term, int section);

    public List<Student> getTeacherCourseStudentList(int scheduleId, int term, int section,int time,int week);

    public List<String> getCourseLogsDate(int scheduleId,int term, int section,int time,int week,int logType);

    public int addCourseLogs(int scheduleId,int term, int section,int time,int week,int logType,Date logDate);

    public int deleteCourseLogs(int scheduleId,int term, int section,int time,int week,int logType,Date logDate);

    public List<CourseStudentsLog> getCourseStudentsLog(int scheduleId,int term, int section,int time,int week,int logType,String logDate);

    public int updateStudentCourseLogs(CourseStudentsLog courseStudentsLog);

    public int getCourseStudentLogCountByType(int studentId,int scheduleId,int term, int section,int time,int week,int logType,int logValue);

    public int getCourseStudentIsObtainCredit(int studentId,int scheduleId,int term, int section,int time,int week);

    public int updateCourseStudentIsObtainCredit(int studentId,int scheduleId,int term, int section,int time,int week,int isObtainCredits);

    public List<CourseStudentLogs> getCourseStudentLogs(int studentId,int scheduleId,int term, int section,int time,int week,int logType);

    public List<StudyLogSituation> getStudyLogSituation(int scheduleId, int term, int section,int time,int week);

    public List<Student> getNoElectionStudents(int term, int section, int time, int week);

    public List<Student> getNoElectionStudentsByConditions(int term, int section, int time, int week,String grade);
}
